---
title: Options Reference
description: Complete reference for all CLI options and flags
---

## General Options

### `--yes, -y`

Use default configuration and skip interactive prompts.

```bash
create-better-t-stack --yes
```

### `--package-manager <pm>`

Choose package manager: `npm`, `pnpm`, or `bun`.

```bash
create-better-t-stack --package-manager bun
```

### `--install / --no-install`

Control dependency installation after project creation.

```bash
create-better-t-stack --no-install
```

### `--git / --no-git`

Control Git repository initialization.

```bash
create-better-t-stack --no-git
```

### `--yolo`

Bypass validations and compatibility checks. Not recommended for normal use.

```bash
create-better-t-stack --yolo
```

### `--verbose`

Show detailed result information in JSON format after project creation.

```bash
create-better-t-stack --verbose
```

### `--render-title / --no-render-title`

Control whether the ASCII art title is shown. Enabled by default.

```bash
# Hide the title (useful in CI)
create-better-t-stack --no-render-title
```

### `--directory-conflict <strategy>`

How to handle existing, non-empty target directories:

- `merge`: Keep existing files and merge new ones
- `overwrite`: Clear the directory before scaffolding
- `increment`: Create a suffixed directory (e.g., `my-app-1`)
- `error`: Fail instead of prompting

```bash
# Overwrite an existing directory without prompting
create-better-t-stack my-app --yes --directory-conflict overwrite

# Safely create a new directory name if it exists
create-better-t-stack my-app --yes --directory-conflict increment
```

### `--disable-analytics / --no-disable-analytics`

Control whether analytics and telemetry data is collected.

```bash
# Disable analytics collection
create-better-t-stack --disable-analytics

# Enable analytics collection (default)
create-better-t-stack --no-disable-analytics
```

Analytics help improve Better-T-Stack by providing insights into usage patterns. When disabled, no data is collected or transmitted.

## Database Options

### `--database <type>`

Database type to use:

- `none`: No database
- `sqlite`: SQLite database
- `postgres`: PostgreSQL database  
- `mysql`: MySQL database
- `mongodb`: MongoDB database

```bash
create-better-t-stack --database postgres
```

### `--orm <type>`

ORM to use with your database:

- `none`: No ORM
- `drizzle`: Drizzle ORM (TypeScript-first)
- `prisma`: Prisma ORM (feature-rich)
- `mongoose`: Mongoose ODM (for MongoDB)

```bash
create-better-t-stack --database postgres --orm drizzle
```

### `--db-setup <setup>`

Database hosting/setup provider:

- `none`: Manual setup
- `turso`: Turso (SQLite)
- `d1`: Cloudflare D1 (SQLite)
- `neon`: Neon (PostgreSQL)
- `supabase`: Supabase (PostgreSQL)
- `prisma-postgres`: Prisma Postgres
- `mongodb-atlas`: MongoDB Atlas
- `docker`: Local Docker containers

```bash
create-better-t-stack --database postgres --db-setup neon
```

## Backend Options

### `--backend <framework>`

Backend framework to use:

- `none`: No backend
- `hono`: Hono (fast, lightweight)
- `express`: Express.js (popular, mature)
- `fastify`: Fastify (fast, plugin-based)
- `elysia`: Elysia (Bun-native)
- `next`: Next.js API routes
- `convex`: Convex backend

```bash
create-better-t-stack --backend hono
```

### `--runtime <runtime>`

Runtime environment:

- `none`: No specific runtime (only with `convex` or `none` backend)
- `bun`: Bun runtime
- `node`: Node.js runtime
- `workers`: Cloudflare Workers

```bash
create-better-t-stack --backend hono --runtime bun
```

### `--api <type>`

API layer type:

- `none`: No API layer
- `trpc`: tRPC (type-safe)
- `orpc`: oRPC (OpenAPI-compatible)

```bash
create-better-t-stack --api trpc
```

## Frontend Options

### `--frontend <types...>`

Frontend frameworks (can specify multiple):

**Web Frameworks:**
- `tanstack-router`: React with TanStack Router
- `react-router`: React with React Router
- `tanstack-start`: React with TanStack Start (SSR)
- `next`: Next.js
- `nuxt`: Nuxt (Vue)
- `svelte`: SvelteKit
- `solid`: SolidJS

**Native Frameworks:**
- `native-nativewind`: React Native with NativeWind
- `native-unistyles`: React Native with Unistyles

**No Frontend:**
- `none`: Backend-only project

```bash
# Single web frontend
create-better-t-stack --frontend tanstack-router

# Web + native frontend
create-better-t-stack --frontend next native-nativewind

# Backend-only
create-better-t-stack --frontend none
```

## Authentication

### `--auth <provider>`

Choose authentication provider:

- `better-auth`: Better-Auth authentication (default)
- `clerk`: Clerk authentication (only with Convex backend)
- `none`: No authentication

```bash
create-better-t-stack --auth better-auth
create-better-t-stack --auth clerk
create-better-t-stack --auth none
```

**Note:** 
- `better-auth` requires both a database and backend framework
- `clerk` is only available with Convex backend
- Authentication is automatically set to `none` when using `--backend none` or `--database none` (unless using Convex)

## Addons

### `--addons <types...>`

Additional features to include:

- `none`: No addons
- `pwa`: Progressive Web App support
- `tauri`: Desktop app support
- `starlight`: Starlight documentation site
- `fumadocs`: Fumadocs documentation site
- `biome`: Biome linting and formatting
- `husky`: Git hooks with Husky
- `turborepo`: Turborepo monorepo setup
- `ultracite`: Ultracite configuration
- `oxlint`: Oxlint fast linting
- `ruler`: Centralize your AI rules with Ruler

```bash
create-better-t-stack --addons pwa biome husky
```

## Examples

### `--examples <types...>`

Example implementations to include:

- `none`: No examples
- `todo`: Todo app example
- `ai`: AI chat interface example

```bash
create-better-t-stack --examples todo ai
```

## Deployment

### `--web-deploy <setup>`

Web deployment configuration:

- `none`: No deployment setup
- `wrangler`: Cloudflare Workers deployment
- `alchemy`: Cloudflare Workers deployment (via Alchemy infrastructure as code)

```bash
create-better-t-stack --web-deploy wrangler
create-better-t-stack --web-deploy alchemy
```

**Note:** Alchemy uses TypeScript to define infrastructure programmatically. See the [Infrastructure as Code with Alchemy Guide](/docs/guides/alchemy-deployment) for details.

### `--server-deploy <setup>`

Server deployment configuration:

- `none`: No deployment setup
- `wrangler`: Cloudflare Workers deployment (when runtime is workers)
- `alchemy`: Cloudflare Workers deployment (when runtime is workers, via Alchemy infrastructure as code)

```bash
create-better-t-stack --server-deploy wrangler
create-better-t-stack --server-deploy alchemy
```

**Note:** Alchemy uses TypeScript to define infrastructure programmatically. See the [Infrastructure as Code with Alchemy Guide](/docs/guides/alchemy-deployment) for details.

## Option Validation

The CLI validates option combinations and will show errors for incompatible selections. See the [Compatibility](/docs/cli/compatibility) page for detailed rules.

## Examples

### Full Configuration

```bash
create-better-t-stack \
  --database postgres \
  --orm drizzle \
  --backend hono \
  --runtime bun \
  --frontend tanstack-router \
  --api trpc \
  --auth better-auth \
  --addons pwa biome \
  --examples todo \
  --package-manager bun \
  --web-deploy wrangler \
  --server-deploy alchemy \
  --install
```

### Minimal Setup

```bash
create-better-t-stack \
  --backend none \
  --frontend tanstack-router \
  --addons none \
  --examples none
```
